<template>
    <!-- 问题： 我们不知道什么时候能够拿到 max 值，但是，总归有一刻，会得到一个真正的 max 值 -->
    <!-- 我们可以 使用 watch 属性监听，来 监听 父组件传递过来的 max 值，不管 watch 会被触发几次，但是，最后一次，肯定是一个 合法的 max 数值 -->
    <div class="mui-numbox" data-numbox-min='1' :data-numbox-max="max">
        <button class="mui-btn mui-btn-numbox-minus" type="button">-</button>
        <!--子组件中需要以某种方式例如点击事件的方法来触发一个自定义事件，然后在自定义事件中执行父组件传来的方法-->
        <input id="test" class="mui-input-numbox" type="number" value="1" ref="numbox" @change="countChanged"/>
        <button class="mui-btn mui-btn-numbox-plus" type="button">+</button>
    </div>
</template>

<script>
  import mui from '../../lib/mui/js/mui.min.js'

  export default {
    mounted() {
      //初始化数字选择框
      mui('.mui-numbox').numbox()
    },
    methods: {
      countChanged() {
        // console.log(this.$refs.numbox.value)
        // 在自定义事件中执行父组件传来的方法，从而传参给父组件
        this.$emit('getcount', parseInt(this.$refs.numbox.value))
      }
    },
    props: ["max"],
    watch: {
      'max': (newVal, oldVal) => {
        mui('.mui-numbox').numbox().setOption("max", newVal)
      }
    }
  }
</script>

<style scoped>

</style>